\hypertarget{classCNullCryptoEngine}{
\section{\-C\-Null\-Crypto\-Engine \-Class \-Reference}
\label{classCNullCryptoEngine}\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}}
}


{\ttfamily \#include $<$null\-\_\-crypto\-\_\-engine.\-h$>$}

\-Inheritance diagram for \-C\-Null\-Crypto\-Engine\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classCNullCryptoEngine}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCNullCryptoEngine_a750bca1f4ef5c800bf7646dfb8139864}{\-C\-Null\-Crypto\-Engine} (\hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} io\-Stream\-Info)
\item 
virtual \hyperlink{classCNullCryptoEngine_aa274e0edd8cf3dd5e5b6685e31d8c692}{$\sim$\-C\-Null\-Crypto\-Engine} ()
\item 
virtual int \hyperlink{classCNullCryptoEngine_acfe250e7194f1322f30b99b7ac505a5e}{encrypt} (double $\ast$p\-Data, unsigned int p\-Count)
\item 
virtual int \hyperlink{classCNullCryptoEngine_a903d791c225f475c02ce2532b5d7324e}{decrypt} (double $\ast$p\-Data, unsigned int p\-Count)
\end{DoxyCompactItemize}
\subsection*{\-Protected \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
virtual int \hyperlink{classCNullCryptoEngine_aeae9b7fbed7186ccd34a533ccd03f0e6}{change\-Settings} ()
\end{DoxyCompactItemize}
\subsection*{\-Protected \-Attributes}
\begin{DoxyCompactItemize}
\item 
double \hyperlink{classCNullCryptoEngine_a1e5047141977b61d0acc62b7db04d593}{m\-Scale}
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
static const std\-::string \hyperlink{classCNullCryptoEngine_a769c429a213aeabdccab36f2f70681ca}{s\-Ini\-Section\-Name}
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCNullCryptoEngine_a750bca1f4ef5c800bf7646dfb8139864}{
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}}
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!CNullCryptoEngine@{\-C\-Null\-Crypto\-Engine}}
\subsubsection[{\-C\-Null\-Crypto\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Null\-Crypto\-Engine\-::\-C\-Null\-Crypto\-Engine (
\begin{DoxyParamCaption}
\item[{{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info}}]{io\-Stream\-Info}
\end{DoxyParamCaption}
)}}
\label{classCNullCryptoEngine_a750bca1f4ef5c800bf7646dfb8139864}
\hypertarget{classCNullCryptoEngine_aa274e0edd8cf3dd5e5b6685e31d8c692}{
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!$\sim$\-C\-Null\-Crypto\-Engine@{$\sim$\-C\-Null\-Crypto\-Engine}}
\index{$\sim$\-C\-Null\-Crypto\-Engine@{$\sim$\-C\-Null\-Crypto\-Engine}!CNullCryptoEngine@{\-C\-Null\-Crypto\-Engine}}
\subsubsection[{$\sim$\-C\-Null\-Crypto\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Null\-Crypto\-Engine\-::$\sim$\-C\-Null\-Crypto\-Engine (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCNullCryptoEngine_aa274e0edd8cf3dd5e5b6685e31d8c692}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCNullCryptoEngine_aeae9b7fbed7186ccd34a533ccd03f0e6}{
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!change\-Settings@{change\-Settings}}
\index{change\-Settings@{change\-Settings}!CNullCryptoEngine@{\-C\-Null\-Crypto\-Engine}}
\subsubsection[{change\-Settings}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Null\-Crypto\-Engine\-::change\-Settings (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classCNullCryptoEngine_aeae9b7fbed7186ccd34a533ccd03f0e6}
called by the protocol engine upon settings change (e.\-g. change of embedding parameters) calls set\-Properties and init\-Crypto if this method gets overwritten, the subclass should call set\-Properties and init\-Crypto 

\-Reimplemented from \hyperlink{classCCryptoEngine_ae509c020577b0be6b45f63a78304314f}{\-C\-Crypto\-Engine}.

\hypertarget{classCNullCryptoEngine_a903d791c225f475c02ce2532b5d7324e}{
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!decrypt@{decrypt}}
\index{decrypt@{decrypt}!CNullCryptoEngine@{\-C\-Null\-Crypto\-Engine}}
\subsubsection[{decrypt}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Null\-Crypto\-Engine\-::decrypt (
\begin{DoxyParamCaption}
\item[{double $\ast$}]{p\-Data, }
\item[{unsigned int}]{p\-Count}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCNullCryptoEngine_a903d791c225f475c02ce2532b5d7324e}
abstract method decrypt decrypt p\-Count bytes from data and write them back to data if not enough data is available for decryption, zeros should be written to the data buffer 
\begin{DoxyParams}{\-Parameters}
{\em data} & double array with amplitude values from 0 to 1 \\
\hline
{\em p\-Count} & count of audio samples to work with \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 for success, $>$0 for success and discard of samples for next call, $<$0 for an error 
\end{DoxyReturn}


\-Implements \hyperlink{classCCryptoEngine_a3405f0d5fc53cce53f35e2ee03cfb95e}{\-C\-Crypto\-Engine}.

\hypertarget{classCNullCryptoEngine_acfe250e7194f1322f30b99b7ac505a5e}{
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!encrypt@{encrypt}}
\index{encrypt@{encrypt}!CNullCryptoEngine@{\-C\-Null\-Crypto\-Engine}}
\subsubsection[{encrypt}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Null\-Crypto\-Engine\-::encrypt (
\begin{DoxyParamCaption}
\item[{double $\ast$}]{p\-Data, }
\item[{unsigned int}]{p\-Count}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCNullCryptoEngine_acfe250e7194f1322f30b99b7ac505a5e}
abstract method encrypt encrypt p\-Count bytes from data and write them back to data if not enough data is available for encryption, zeros should be written to the data buffer 
\begin{DoxyParams}{\-Parameters}
{\em data} & double array with amplitude values from 0 to 1 \\
\hline
{\em p\-Count} & count of audio samples to work with \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 for success, $>$0 for success and discard of samples for next call, $<$0 for an error 
\end{DoxyReturn}


\-Implements \hyperlink{classCCryptoEngine_a19175d4e3c5177453e1b7af2bb956bb8}{\-C\-Crypto\-Engine}.



\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCNullCryptoEngine_a1e5047141977b61d0acc62b7db04d593}{
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!m\-Scale@{m\-Scale}}
\index{m\-Scale@{m\-Scale}!CNullCryptoEngine@{\-C\-Null\-Crypto\-Engine}}
\subsubsection[{m\-Scale}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf \-C\-Null\-Crypto\-Engine\-::m\-Scale}\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{classCNullCryptoEngine_a1e5047141977b61d0acc62b7db04d593}
\hypertarget{classCNullCryptoEngine_a769c429a213aeabdccab36f2f70681ca}{
\index{\-C\-Null\-Crypto\-Engine@{\-C\-Null\-Crypto\-Engine}!s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}}
\index{s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}!CNullCryptoEngine@{\-C\-Null\-Crypto\-Engine}}
\subsubsection[{s\-Ini\-Section\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Null\-Crypto\-Engine\-::s\-Ini\-Section\-Name}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCNullCryptoEngine_a769c429a213aeabdccab36f2f70681ca}


\-Reimplemented from \hyperlink{classCCryptoEngine_a771dc5672c3690791e03d9492f4f2400}{\-C\-Crypto\-Engine}.



\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{null__crypto__engine_8h}{null\-\_\-crypto\-\_\-engine.\-h}\item 
\hyperlink{null__crypto__engine_8cxx}{null\-\_\-crypto\-\_\-engine.\-cxx}\end{DoxyCompactItemize}
